package com.todo.strategy.online.application.backend.service;

import com.todo.common.common.entity.response.BizPageResponse;
import com.todo.common.common.entity.response.BizResponse;
import com.todo.strategy.online.iface.backend.request.*;
import com.todo.strategy.online.iface.backend.response.QueryUserStrategyByConditionResp;
import com.todo.strategy.online.iface.backend.response.UserStrategyDetailResp;
import com.todo.strategy.online.iface.backend.response.UserStrategyRelationResp;

import java.util.List;

/**
 * (StrategyInfo)表服务接口
 *
 * @author zhangwenxiang
 * @since 2024-03-04 00:19:49
 */
public interface UserStrategyBackendService {

    /**
     * 根据主键id查询用户攻略详情
     *
     * @param req
     * @return
     */
    BizResponse<UserStrategyDetailResp> queryUserStrategyDetailById(QueryUserStrategyDetailByIdReq req);

    /**
     * 多条件查询用户攻略详情
     *
     * @param req
     * @return
     */
    BizPageResponse<QueryUserStrategyByConditionResp> queryUserStrategyByCondition(QueryUserStrategyByConditionReq req);

    /**
     * 查询用户攻略关联列表
     *
     * @param req
     * @return
     */
    BizResponse<List<UserStrategyRelationResp>> queryUserStrategyRelationList(QueryUserStrategyRelationListReq req);

    /**
     * 禁用攻略
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> prohibitStrategyById(ProhibitStrategyByIdReq req);

    /**
     * 人工检测用户攻略是否通过
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> detectionUserStrategyById(DetectionUserStrategyReq req);
}
